↳ ITRS
↳ ITRStoIDPProof
z
rand(x, y) → Cond_rand2(>@z(0@z, x), x, y)
random(x) → rand(x, 0@z)
rand(x, y) → Cond_rand(>@z(x, 0@z), x, y)
Cond_rand(TRUE, x, y) → rand(-@z(x, 1@z), id_inc(y))
Cond_rand2(TRUE, x, y) → rand(+@z(x, 1@z), id_dec(y))
rand(x, y) → Cond_rand1(=@z(x, 0@z), x, y)
id_dec(x) → x
id_inc(x) → x
id_inc(x) → +@z(x, 1@z)
id_dec(x) → -@z(x, 1@z)
Cond_rand1(TRUE, x, y) → y
rand(x0, x1)
random(x0)
Cond_rand(TRUE, x0, x1)
Cond_rand2(TRUE, x0, x1)
id_dec(x0)
id_inc(x0)
Cond_rand1(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
z
rand(x, y) → Cond_rand2(>@z(0@z, x), x, y)
random(x) → rand(x, 0@z)
rand(x, y) → Cond_rand(>@z(x, 0@z), x, y)
Cond_rand(TRUE, x, y) → rand(-@z(x, 1@z), id_inc(y))
Cond_rand2(TRUE, x, y) → rand(+@z(x, 1@z), id_dec(y))
rand(x, y) → Cond_rand1(=@z(x, 0@z), x, y)
id_dec(x) → x
id_inc(x) → x
id_inc(x) → +@z(x, 1@z)
id_dec(x) → -@z(x, 1@z)
Cond_rand1(TRUE, x, y) → y
(3) -> (2), if ((x[3] →* x[2])∧(y[3] →* y[2])∧(>@z(x[3], 0@z) →* TRUE))
(3) -> (5), if ((x[3] →* x[5])∧(y[3] →* y[5])∧(>@z(x[3], 0@z) →* TRUE))
(4) -> (0), if ((x[4] →* x[0])∧(y[4] →* y[0])∧(>@z(0@z, x[4]) →* TRUE))
(4) -> (6), if ((x[4] →* x[6])∧(y[4] →* y[6])∧(>@z(0@z, x[4]) →* TRUE))
(5) -> (1), if ((id_inc(y[5]) →* y[1])∧(-@z(x[5], 1@z) →* x[1]))
(5) -> (3), if ((id_inc(y[5]) →* y[3])∧(-@z(x[5], 1@z) →* x[3]))
(5) -> (4), if ((id_inc(y[5]) →* y[4])∧(-@z(x[5], 1@z) →* x[4]))
(6) -> (1), if ((id_dec(y[6]) →* y[1])∧(+@z(x[6], 1@z) →* x[1]))
(6) -> (3), if ((id_dec(y[6]) →* y[3])∧(+@z(x[6], 1@z) →* x[3]))
(6) -> (4), if ((id_dec(y[6]) →* y[4])∧(+@z(x[6], 1@z) →* x[4]))
(7) -> (1), if ((x[7] →* x[1]))
(7) -> (3), if ((x[7] →* x[3]))
(7) -> (4), if ((x[7] →* x[4]))
rand(x0, x1)
random(x0)
Cond_rand(TRUE, x0, x1)
Cond_rand2(TRUE, x0, x1)
id_dec(x0)
id_inc(x0)
Cond_rand1(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
z
id_dec(x) → x
id_inc(x) → x
id_inc(x) → +@z(x, 1@z)
id_dec(x) → -@z(x, 1@z)
(3) -> (2), if ((x[3] →* x[2])∧(y[3] →* y[2])∧(>@z(x[3], 0@z) →* TRUE))
(3) -> (5), if ((x[3] →* x[5])∧(y[3] →* y[5])∧(>@z(x[3], 0@z) →* TRUE))
(4) -> (0), if ((x[4] →* x[0])∧(y[4] →* y[0])∧(>@z(0@z, x[4]) →* TRUE))
(4) -> (6), if ((x[4] →* x[6])∧(y[4] →* y[6])∧(>@z(0@z, x[4]) →* TRUE))
(5) -> (1), if ((id_inc(y[5]) →* y[1])∧(-@z(x[5], 1@z) →* x[1]))
(5) -> (3), if ((id_inc(y[5]) →* y[3])∧(-@z(x[5], 1@z) →* x[3]))
(5) -> (4), if ((id_inc(y[5]) →* y[4])∧(-@z(x[5], 1@z) →* x[4]))
(6) -> (1), if ((id_dec(y[6]) →* y[1])∧(+@z(x[6], 1@z) →* x[1]))
(6) -> (3), if ((id_dec(y[6]) →* y[3])∧(+@z(x[6], 1@z) →* x[3]))
(6) -> (4), if ((id_dec(y[6]) →* y[4])∧(+@z(x[6], 1@z) →* x[4]))
(7) -> (1), if ((x[7] →* x[1]))
(7) -> (3), if ((x[7] →* x[3]))
(7) -> (4), if ((x[7] →* x[4]))
rand(x0, x1)
random(x0)
Cond_rand(TRUE, x0, x1)
Cond_rand2(TRUE, x0, x1)
id_dec(x0)
id_inc(x0)
Cond_rand1(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
z
id_dec(x) → x
id_inc(x) → x
id_inc(x) → +@z(x, 1@z)
id_dec(x) → -@z(x, 1@z)
(5) -> (3), if ((id_inc(y[5]) →* y[3])∧(-@z(x[5], 1@z) →* x[3]))
(3) -> (5), if ((x[3] →* x[5])∧(y[3] →* y[5])∧(>@z(x[3], 0@z) →* TRUE))
(5) -> (4), if ((id_inc(y[5]) →* y[4])∧(-@z(x[5], 1@z) →* x[4]))
(6) -> (3), if ((id_dec(y[6]) →* y[3])∧(+@z(x[6], 1@z) →* x[3]))
(4) -> (6), if ((x[4] →* x[6])∧(y[4] →* y[6])∧(>@z(0@z, x[4]) →* TRUE))
(6) -> (4), if ((id_dec(y[6]) →* y[4])∧(+@z(x[6], 1@z) →* x[4]))
rand(x0, x1)
random(x0)
Cond_rand(TRUE, x0, x1)
Cond_rand2(TRUE, x0, x1)
id_dec(x0)
id_inc(x0)
Cond_rand1(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
RAND(x[4], y[4]) → COND_RAND2(greater_int(pos(0), x[4]), x[4], y[4])
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
RAND(x[3], y[3]) → COND_RAND(greater_int(x[3], pos(0)), x[3], y[3])
COND_RAND2(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), x[6]), id_dec(y[6]))
id_dec(x) → x
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
id_dec(x) → minus_int(x, pos(s(0)))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), neg(y)) → minus_nat(y, x)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
minus_int(pos(x), neg(y)) → pos(plus_nat(x, y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
rand(x0, x1)
random(x0)
Cond_rand(true, x0, x1)
Cond_rand2(true, x0, x1)
id_dec(x0)
id_inc(x0)
Cond_rand1(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
RAND(x[4], y[4]) → COND_RAND2(greater_int(pos(0), x[4]), x[4], y[4])
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
RAND(x[3], y[3]) → COND_RAND(greater_int(x[3], pos(0)), x[3], y[3])
COND_RAND2(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), x[6]), id_dec(y[6]))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
rand(x0, x1)
random(x0)
Cond_rand(true, x0, x1)
Cond_rand2(true, x0, x1)
id_dec(x0)
id_inc(x0)
Cond_rand1(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
rand(x0, x1)
random(x0)
Cond_rand(true, x0, x1)
Cond_rand2(true, x0, x1)
Cond_rand1(true, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
RAND(x[4], y[4]) → COND_RAND2(greater_int(pos(0), x[4]), x[4], y[4])
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
RAND(x[3], y[3]) → COND_RAND(greater_int(x[3], pos(0)), x[3], y[3])
COND_RAND2(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), x[6]), id_dec(y[6]))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(0), y1) → COND_RAND2(false, pos(0), y1)
RAND(pos(s(x0)), y1) → COND_RAND2(false, pos(s(x0)), y1)
RAND(neg(0), y1) → COND_RAND2(false, neg(0), y1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
RAND(x[3], y[3]) → COND_RAND(greater_int(x[3], pos(0)), x[3], y[3])
COND_RAND2(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), x[6]), id_dec(y[6]))
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(0), y1) → COND_RAND2(false, pos(0), y1)
RAND(pos(s(x0)), y1) → COND_RAND2(false, pos(s(x0)), y1)
RAND(neg(0), y1) → COND_RAND2(false, neg(0), y1)
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
RAND(x[3], y[3]) → COND_RAND(greater_int(x[3], pos(0)), x[3], y[3])
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
COND_RAND2(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), x[6]), id_dec(y[6]))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
RAND(x[3], y[3]) → COND_RAND(greater_int(x[3], pos(0)), x[3], y[3])
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
COND_RAND2(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), x[6]), id_dec(y[6]))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
RAND(pos(0), y1) → COND_RAND(false, pos(0), y1)
RAND(neg(s(x0)), y1) → COND_RAND(false, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
RAND(neg(0), y1) → COND_RAND(false, neg(0), y1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
COND_RAND2(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), x[6]), id_dec(y[6]))
RAND(pos(0), y1) → COND_RAND(false, pos(0), y1)
RAND(neg(s(x0)), y1) → COND_RAND(false, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
RAND(neg(0), y1) → COND_RAND(false, neg(0), y1)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
COND_RAND2(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), x[6]), id_dec(y[6]))
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
COND_RAND2(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), x[6]), id_dec(y[6]))
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
COND_RAND2(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), x[6]), id_dec(y[6]))
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND2(true, pos(x1), y1) → RAND(pos(plus_nat(s(0), x1)), id_dec(y1))
COND_RAND2(true, neg(x1), y1) → RAND(minus_nat(s(0), x1), id_dec(y1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
COND_RAND2(true, pos(x1), y1) → RAND(pos(plus_nat(s(0), x1)), id_dec(y1))
COND_RAND2(true, neg(x1), y1) → RAND(minus_nat(s(0), x1), id_dec(y1))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
COND_RAND2(true, neg(x1), y1) → RAND(minus_nat(s(0), x1), id_dec(y1))
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), minus_int(x0, pos(s(0))))
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), minus_int(x0, pos(s(0))))
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), x0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), minus_int(x0, pos(s(0))))
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), x0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
id_dec(x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, x[5], y[5]) → RAND(minus_int(x[5], pos(s(0))), id_inc(y[5]))
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), minus_int(x0, pos(s(0))))
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), x0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, pos(x0), y1) → RAND(minus_nat(x0, s(0)), id_inc(y1))
COND_RAND(true, neg(x0), y1) → RAND(neg(plus_nat(x0, s(0))), id_inc(y1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), minus_int(x0, pos(s(0))))
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), x0)
COND_RAND(true, pos(x0), y1) → RAND(minus_nat(x0, s(0)), id_inc(y1))
COND_RAND(true, neg(x0), y1) → RAND(neg(plus_nat(x0, s(0))), id_inc(y1))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), minus_int(x0, pos(s(0))))
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), x0)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, pos(x0), y1) → RAND(minus_nat(x0, s(0)), id_inc(y1))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), plus_int(pos(s(0)), x0))
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), minus_int(x0, pos(s(0))))
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), x0)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), plus_int(pos(s(0)), x0))
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), minus_int(x0, pos(s(0))))
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), x0)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), plus_int(pos(s(0)), x0))
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
id_inc(x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), minus_int(x0, pos(s(0))))
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), x0)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), plus_int(pos(s(0)), x0))
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(s(0), s(z0)), minus_int(z1, pos(s(0))))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), x0)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), plus_int(pos(s(0)), x0))
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(s(0), s(z0)), minus_int(z1, pos(s(0))))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), minus_int(z1, pos(s(0))))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
COND_RAND2(true, neg(y0), x0) → RAND(minus_nat(s(0), y0), x0)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), plus_int(pos(s(0)), x0))
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), minus_int(z1, pos(s(0))))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(s(0), s(z0)), z1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), plus_int(pos(s(0)), x0))
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), minus_int(z1, pos(s(0))))
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(s(0), s(z0)), z1)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), z1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), plus_int(pos(s(0)), x0))
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), minus_int(z1, pos(s(0))))
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), z1)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(s(z0), s(0)), plus_int(pos(s(0)), z1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), minus_int(z1, pos(s(0))))
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), z1)
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(s(z0), s(0)), plus_int(pos(s(0)), z1))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(z0, 0), plus_int(pos(s(0)), z1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND(true, pos(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), minus_int(z1, pos(s(0))))
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), z1)
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(z0, 0), plus_int(pos(s(0)), z1))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(s(z0), s(0)), z1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), minus_int(z1, pos(s(0))))
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), z1)
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(z0, 0), plus_int(pos(s(0)), z1))
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(s(z0), s(0)), z1)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(z0, 0), z1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ MRRProof
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), minus_int(z1, pos(s(0))))
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), z1)
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(z0, 0), plus_int(pos(s(0)), z1))
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(z0, 0), z1)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), z1)
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(z0, 0), z1)
minus_nat(s(x), s(y)) → minus_nat(x, y)
POL(0) = 0
POL(COND_RAND(x1, x2, x3)) = x1 + x2 + x3
POL(COND_RAND2(x1, x2, x3)) = x1 + x2 + x3
POL(RAND(x1, x2)) = x1 + x2
POL(minus_int(x1, x2)) = x1 + x2
POL(minus_nat(x1, x2)) = x1 + x2
POL(neg(x1)) = x1
POL(plus_int(x1, x2)) = x1 + x2
POL(plus_nat(x1, x2)) = x1 + x2
POL(pos(x1)) = x1
POL(s(x1)) = 1 + x1
POL(true) = 0
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ MRRProof
↳ QDP
↳ MRRProof
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), minus_int(z1, pos(s(0))))
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(z0, 0), plus_int(pos(s(0)), z1))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND2(true, neg(s(z0)), z1) → RAND(minus_nat(0, z0), minus_int(z1, pos(s(0))))
COND_RAND(true, pos(s(z0)), z1) → RAND(minus_nat(z0, 0), plus_int(pos(s(0)), z1))
POL(0) = 0
POL(COND_RAND(x1, x2, x3)) = x1 + 2·x2 + x3
POL(COND_RAND2(x1, x2, x3)) = 2·x1 + 2·x2 + x3
POL(RAND(x1, x2)) = 2·x1 + x2
POL(minus_int(x1, x2)) = x1 + 2·x2
POL(minus_nat(x1, x2)) = x1 + 2·x2
POL(neg(x1)) = 2·x1
POL(plus_int(x1, x2)) = x1 + x2
POL(plus_nat(x1, x2)) = x1 + x2
POL(pos(x1)) = x1
POL(s(x1)) = 1 + x1
POL(true) = 0
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ MRRProof
↳ QDP
↳ MRRProof
↳ QDP
↳ DependencyGraphProof
RAND(neg(s(x0)), y1) → COND_RAND2(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND(true, pos(s(x0)), y1)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))